1. Field of the Invention
The disclosure relates generally to resource management systems and related resource management techniques, and, more particularly to distributed resource management systems capable of providing multiple distributed resource managers for resource management and distributed resource management methods using the same.
2. Description of the Related Art
Recently, with the advance of science and network development, distributed computing and processing such as scientific computing, cloud service etc, have increased, and now require large-scale distributed resource management systems for support. With the improvement of network bandwidth, territorial limitations do not exist anymore, and widespread distributed systems have been integrated. However, as the advance of technology quickly, heterogeneous in hardware efficiency for hardware purchased at different times exist, causing the increased differences in hardware equipment resources in the distributed system, and consequently, complicating the computing resource management of the distributed systems. Moreover, since territorial limitations are no longer constrained by distributed system, the affects of network and efficacy for the system become more significant, thereby increasing the resource variability and also making the system equipment status become hard to control.
Current common methods for distributed resource management fall into the full-centralized method and hierarchical method. For the full-centralized method, all information and allocation of the resources are centrally managed by a resource manager (RM), and resource information is stored in the resource tables (RTs), wherein a resource allocation principle can be determined by a system designer. Note that here is a resource agent (RA) for each resource in charge of reporting on the available resource data to the RM. When some resources is needed by a client, a request can be issued to the RM directly. These requests will be stored in sequence and queued, and a priority will be determined according to various schedules. After the request is received, the RM inquires and determines whether the request can be accepted. If accepted, the RM notifies the RA to allocate the resource out, and modifies information in the RT. Because the resource management is performed by using a single management component in a fully centralized method, scalability is very low, and capabilities are limited, to the extent that allocation and management for processing more resources may become too much to handle. In a full-centralized method, all system information is managed by one program, resulting in that all requests stay in the same queue, thereby increasing waiting time.
For the hierarchical method, resource management is performed by a different management mission at different levels. For example, taking the design of two levels as an example. In level 1, a scheduler is in charge of receiving and managing resource requests and then the received requests are put to the other level for determining whether to accept or allocate resources. In this hierarchical method, all resources are categorized or clustered in advance and managed by different RMs. However, with such a management method, although loading of the RM can be alleviated, categorization or clustering of the resources may not be balanced enough, and request frequency of each resource may also be different, such that loading differences of each RM could be very significant.